AXA: TESTBED FOR CONSTRUCTION AND RESEARCH OF
MULTI-AGENT SYSTEMS
M. G. Panteleev, M. A. Natey-Golenko
St.-Petersburg State Electrotechnical University “LETI”
Аннотация — Мультиагентные системы (МАС) являются быстроразвивающейся и перспективной областью искусственного интеллекта. Вследствие возросшего в последнее время интереса к МАС возникает необх одимость в программных средствах, поддерживающих построение и исследование МАС. Ключевым компонентом являются языки взаимодействия агентов В докладе рассматривается программная среда
AxA (ActiveX Agent) для построения и исследования мультиагентных систем. Среда реализована на базе технологии ActiveX корпорации Microsoft. Описаны архитектура и некоторые детали реализации AxA. Рассматриваются вопросы обучения технологиям общения агентов с использованием AxA.Introduction
Multi-agent systems (MAS) in which multiple problem solving agents cooperate to achieve a common objective is a rapidly emerging and promising paradigm [2,9]. The set of application domains in which agent technologies are being app lied to or investigated include air-traffic control, electronic commerce, workflow management, business process reengineering, network management, data mining, information retrieval/management, education, personal digital assistants etc. [7]. While MAS g et wide use in different areas there is a growing need of teaching specialists in relative technologies.
Agent Communication Languages (ACL) are the key component of MAS technologies. ACL allow agents to effectively communicate and exchange knowledge with other agents despite differences in hardware platforms, operating systems, architect ures, programming languages and representation and reasoning systems. KQML (Knowledge Query and Manipulation Language) is a most well known language of that kind [1,3]. It consists of primitives (called “performatives”) that express attitudes regarding t he content of the exchange and allow agents to communicate such attitudes to other agents and find other agents suitable to process their requests
A KQML message is divided into three layers: the content layer, the communication layer, and the message layer. The content layer bears the actual content of the message in a language chosen by the sender. The communication layer encod es a set of features to the message to describe the lower level communication parameters such as the identity of the sender and recipient and a unique identifier associated with the communication. The message layer encodes the message including its inten tion (by a chosen performative), the content language used, and the ontology.
Another Agent Communication Language has recently been specified by the Foundation for Intelligent Physical Agents (FIPA).
KIF
Knowledge Interchange Format (KIF), due to its rich expressive power and simple syntax, is probably the most widely used neutral message format for agent communication. KIF is a prefix version of first order predicates calculus wit h extensions to support non-monotonic reasoning and definitions [4]. The language description includes both specifications for its syntax and for its semantics. Besides first order logic expressions of facts and knowledge, KIF also supports extra-logical expressions such as those for the encoding of knowledge about knowledge and of procedures.
Ontology
Every application incorporates some view of the domain it applies to. To ensure correct mutual understanding of the exchanged messages, agents must agree on the model of that part of the world about which they are exchanging inform ation with each other. In the terminology of the agent community agents must share a common ontology [5]. More formally, an ontology is a domain theory that specifies a domain-specific vocabulary of classes, properties, predicates functions, and entities , and a set of relationships that necessarily hold among those vocabulary items. A shared or common ontology refers to an explicit specification of the ontological commitments of a group of agents.
Our ultimate goal is to develop software that will provide tutoring in agent communication languages and investigation of different kinds of communication acts between deliberative intelligent agents. This software should be used for s tudying coordination and negotiation issues and different negotiation models in MAS.
In order to maximize future compatibility of our system with other ones we utilize standard technology ActiveX by Microsoft. The majority of the agent software now are implemented on JAVA: AgentBuilder® (Reticular Systems Inc.), Aglets (IBM), Intelligent Agent Factory (Bits & Pixels), LiveAgent(AgentSoftLtd.). However we believe that ActiveX technology is more preferable for future real-time agent applications.
ActiveX Agent Testbed, AxA is being developed agent building paltform based on Microsoft ActiveX technology. AxA allows to construct multiagent systems, using various development kits such as Microsoft Visual Basic, Microsoft Visual C+ +, Microsoft Visual J++, Inprise Delphi, Inprise C++ Builder etc. AxA intended primarily for research and educational purposes.
ActiveX Agent Testbed architecture
Fig.1Agent society
Further, ActiveX Agent Testbed is a distributed agent society also. While agents range from simple personal assistants to complex real-time research, industrial and economical agents, all have common commucation language – KQML/ KIF [4,8]. Distributed COM/ActiveX industrial standard was used as low-level transport facility. AxA provide common agent architecture, communication and interaction interfaces. AxA agents divided into two categories: application agents and base system facilitators such as agent category facilitator (described below), ontology server, resource manager. We define three layers of agent interaction, mapped to OSI layers:
Agents interaction
As said above, AxA is based on Microsoft Distributed Component Object Model (DCOM). Microsoft defines the DCOM as a platform-independent, distributed, object-oriented, system for creating binary software components that can interac t. AxA agents are essentially ActiveX objects and communicate via interfaces. Two types of entities involved in dialog: agents and KQML messages, both ActiveX objects. AxA defines IKqmlChannel and IKqmlMessage interfaces, implemented by agents and KQML M essage objects respectively.
Table 1 IKqmlChannel interface
Name prop. |
Peer’s name |
Process method |
Processes supplied KQML message and returns answer in form of KQML message too |
Table2 IKqmlMessage interface
KQML perf. prop. |
Standard KQML Performative |
Language prop. |
Language in which message content represented |
Ontology prop. |
Specifies represent ontology source agent understood |
Content prop. |
Main property of message, body if message encoded in specified language |
Objects prop. |
New for KQML, introduced in AxA. It is a set of named objects. |
The sample dialog of two agents, depicted on Fig 2. Precondition: agent A must have pointer to IKqmlChannel interface of agent B before interaction. There are many ways to get it, including some name server. AxA provides proprietary Ax A Agent Category Facilitator.
Fig. 2 Agent negotiation
Agent Category Facilitator architecture
AxA has Agent Category Facilitator (ACF) as system component and will be enriched by ontology server and resource manager.
ACF is a facilitator that provides agent naming and navigating services and works as bulletin board. ACF stores list of generalized agent categories and any agent can register itself under some categories and advertise its capabilities to society. ACF receives messages in KIF language as knowledge representation language. AxA defines two category: ontology server and resource manager, this list will extended in future.
In AxA, any agent after birth knows about one external object in world only - ACF. ACF helps agent to explore society. ACF is ActiveX object as other AxA agents and implements IKqmlChannel interface.
Exciting feature of ACF is special knowledge base. ACF operates with symbolic category names and stores interface pointers additionly. That is application agent should not to resolve given agent names to physical addresses or use some high-level ways to communicate with string names. It can invoke methods on interface pointers directly without great overhead. We extend standard KQML to support this feature.
ACF processes subset of KQML performatives include:
Example of possible dialogs presented below:
Agent registers itself under category “ontology-server”:
Performative |
? “register” |
Language |
? “KIF” |
Ontology |
? “AxA-ACF” |
Content |
? “(categorized-as ontology-server ?ptr)” |
Objects |
? Collection with one item “?ptr”. This item is a subject of message. |
Agent Communication Library
To simplify building of agent application, we include into AxA testbed additional component: Agent Communication Library (ACLB). ACLB is a library of supporting ActiveX objects and contains task-oriented negotiation models. They e ncapsulate knowledge about conducting parametrized agent-to-agent dialogs. We include into our testbed ACF Negotiation Model (CFN) and base implementation of State Oriented Domain Negotiation Model (SDN).
CFN communicates with ACF and solves two tasks: discovering partners and advertising own capabilities. CFN implements ICFNegotiator interface and provides properties, methods and events presented in Table 3:
Table3 ICFNegotiator interface
Owner prop. |
Interface pointer to owner of this CFN object. |
Register method |
Registers owner under supplied categories on agent category facilitator |
Unregister method |
Undoes previous action |
Discover method |
Starts process of discovering agents advertised apecified capabilities |
Descovered event |
Occurs when discovering process is complete |
A SDN models intended for negotiation about states, actions, goals in state oriented domains (SOD). We use SOD as defined in [11]. In brief, SOD defined as a tuple of: ordered list of agents, set of possible joint n-agent plans with ro les cost vector. A SOD world of objects could be described as a set of possible relations between agents and a set of possible weighted atomic operations on objects.
AxA agents can use various SDN models through ISDNegotiator interface, defined as follows:
Table 4 ISDNegotiator interface
Owner prop. |
Owner of this SDN object. |
WorldDesc prop. |
Description of world in KIF format |
Negotiate method |
Starts negotiation. |
Complete event |
Occurs when negotiation is complete |
AxA implementation details
AxA was designed for Windows NT (x86) and Windows 95 platforms. AxA implemented in Visual C++ and Visual Basic languages and consists of following modules:
AxA Agent common architecture
AxA agent based on ActiveX technology. Structurally, agent consists of Engine, Interpretaiton Module (IM), Prediction Module (FM), Planning Module (PM), Knowledge Base (KB) and Executive ActiveX objects (EO):
All agent components are ActiveX objects.
Agent Communication Tutoring in AxA
To teaching students agent technologies we propose to consider the next issues:
Conclusion and Future work
In this paper we have described a testbed for tutoring and research in multiagent communications. Our testbed is based on powerful Microsoft’s Distributed COM/ActiveX technology and consists of reusable components, it guarantees ti ghtly integration and interoperability with widely distributed software. One of exciting features is modified KQML language, it allows to operate with COM interface pointers. Further, using modern development tools such as VisualBasic and Visual C++ simp lifies studying agent technologies.
Future work is concerned with developing ActiveX components for building more complicated deliberative intelligent agents that implement planning and prediction functions. Another future direction is concerned with applying these compl icated agents to model different negotiation strategies and cooperative planning.
We believe that the architecture and software presented in this paper will be useful both as tutoring and as research testbed for communication act studies in multi-agent systems.
References
1.Finin T., et al. Draft Specification of the KQML Agent Communication Language. June, 1993.
2.Wooldridge M. and Jennings N.R. Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2):115–152, 1995.
3.Finin T., Labrou Y. KQML as an agent communication Language. In Software Agents, J.M. Bradshaw, (editor) MIT Press, Cambridge, Mass., p291-316, 1997.
4.Genesereth M., et al. Knowledge Interchange Format, Version 3.0 Reference Manual. Technical Report, Computer Science Department, Stanford University, 1992.
5.Gruber T.R. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, 5(2): 199-220, 1993.
6.Jennings N.R., Sycara K., and Wooldridge M.A. Roadmap of Agent Research and Development. Autonomous Agents and Multi-Agent Systems, 1: 275–306, 1998.
7.Jennings N.R., Sycara K., and Wooldridge M.A. Roadmap of Agent Research and Development. Autonomous Agents and Multi-Agent Systems, 1: 275–306, 1998.
8.Labrou Y. and Finin T. A proposal for a new KQML specification. Technical Report Technical Report TR-CS-97-03, University of Maryland Baltimore County, 1997.
9.Nwana H.S. Software Agents: An Overview. The Knowledge Engineering Review, 11(3): 1-40, 1996.
10. Wooldridge M.A. and Jennings N. R. Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10(2):115–152, 1995.
11. Zlotkin G. and Rosenschein J. S. Mechanisms for Automated Negotiation in State Oriented Domains. Journal of Artificial Intelligence Research, 5: 163-238, 1996.
Site of Information
Technologies Designed by inftech@webservis.ru. |
|